package org.jeecg.modules.demo;

import java.util.ArrayList;
import java.util.List;

import org.jeecgframework.codegenerate.generate.impl.CodeGenerateOneToMany;
import org.jeecgframework.codegenerate.generate.pojo.onetomany.MainTableVo;
import org.jeecgframework.codegenerate.generate.pojo.onetomany.SubTableVo;

public class JeecgOneToMainUtil {
    public JeecgOneToMainUtil() {
    }

    public static void main(String[] args) {
//        MainTableVo var1 = new MainTableVo();
//        var1.setTableName("jeecg_order_main");
//        var1.setEntityName("TestOrderMain");
//        var1.setEntityPackage("test2");
//        var1.setFtlDescription("订单");
//        ArrayList var2 = new ArrayList();
//        SubTableVo var3 = new SubTableVo();
//        var3.setTableName("jeecg_order_customer");
//        var3.setEntityName("TestOrderCustom");
//        var3.setEntityPackage("test2");
//        var3.setFtlDescription("客户明细");
//        var3.setForeignKeys(new String[]{"order_id"});
//        var2.add(var3);
//        var1.setSubTables(var2);


        //第一步：设置主表配置
        MainTableVo mainTable = new MainTableVo();
        mainTable.setTableName("bd_customer");        //表名
        mainTable.setEntityName("BdCustomer");//实体名
        mainTable.setEntityPackage("customer");//包名
        mainTable.setFtlDescription("客户基本信息");////描述


        List<SubTableVo> subTables = new ArrayList<SubTableVo>();//第二步：设置子表集合配置

        SubTableVo po = new SubTableVo();///[1].子表一

        po.setTableName("bd_custbank");//表名

        po.setEntityName("BdCustbank");//实体名

        po.setEntityPackage("customer");//包名

        po.setFtlDescription("客户银行帐号");//描述
        //子表外键参数配置
        /*说明:
         * a) 子表引用主表主键ID作为外键，外键字段必须以_ID结尾;
         * b) 主表和子表的外键字段名字，必须相同（除主键ID外）;
         * c) 多个外键字段，采用逗号分隔;
         */
        po.setForeignKeys(new String[]{"id_h"});

        subTables.add(po);
        try {
            String var5 = "E:\\111";
            String var6 = "/jeecg/code-template-online/inner-table/onetomany";
            (new CodeGenerateOneToMany(mainTable, subTables)).generateCodeFile(null, var6, (String)null);
        } catch (Exception var7) {
            var7.printStackTrace();
        }

    }
}
